package common.consts;

/**
 * Created by aceyin on 15/6/23.
 */
public interface Consts {
    /**
     * 所有API的ROOT URI
     */
    String API_ROOT_URI = "/api";
    /**
     * 标识是否为测试环境
     */
    String KEY_IS_TEST_ENV = "isTestEnv";
    /**
     * 默认工作时长
     */
    int DEFAULT_WORKING_HOURS = 8;
    /**
     * 默认上班时间
     */
    String DEFAULT_ONDUTY_TIME = "8:30";
    /**
     * 默认身高要求
     */
    Integer DEFAULT_HEIGHT_REQUIREMENT = 0;
    /**
     * 默认最大年龄要求
     */
    Integer DEFAULT_MAX_AGE_REQUIREMENT = 0;
    /**
     * 默认最小年龄要求
     */
    Integer DEFAULT_MIN_AGE_CONDITION = 0;
    /**
     * 默认头像的文件类型
     */
    String USER_AVATAR_FILE_TYPE = "png";
    /**
     * 默认头像存储目录
     */
    String USER_AVATAR_BASE_PATH = "/var/www/images/avatar";
    /**
     * 默认每页显示的记录条数
     */
    int DEFAULT_ROWS = 20;
    /**
     * 默认的用户头像URL
     */
    String DEFAULT_AVATAR = "";
    /**
     * 隐藏名称
     */
    String NAME_MASK = "***";
    /**
     * 隐藏电话号码
     */
    String PHONE_MASK = "1**********";
    /**
     * 最大上传文件字节数
     */
    long MAX_UPLOAD_IMAGE_BYTES = 1024 * 1024 * 1024;
    /**
     * ServletContext的属性明，用来存放Spring 的URL Mapping列表
     */
    String SPRING_MVC_MAPPING_KEY = "spring-mvc-url-mappings";
    /**
     * 每周工作天数
     */
    int DEFAULT_WORKING_DAYS_A_WEEK = 5;
    /**
     * 每月工作天数
     */
    int DEFAULT_WORKING_DAYS_A_MONTH = 22;
    /**
     * 默认测试验证码
     */
    int DEFAULT_TEST_CAPTCHA = 1234;
    /**
     * 默认验证码发送的时间间隔。
     */
    int DEFAULT_SMS_SEND_INTERVAL = 180;
    /**
     * 短信验证码余额报警阈值
     */
    int SMS_BALANCE_WARNING_THRESHOLD = 1000;
    /**
     * 短信验证码不足时的提醒信息
     */
    String SMS_BALANCE_WARNING = "短信验证码余额不足1000条，请尽快充值";
    /**
     * 系统管理员的手机号码
     */
    String SYSTEM_ADMIN_MOBILES = "13925026057,13570326075";
    /**
     * 系统帐号的ID
     */
    long SYSTEM_ACCOUNT_ID = 0l;

    /**
     * 多语言消息的 message key
     */
    interface i18nKey {

        String ACCOUNT_IS_ABNORMAL = "{account.is.in.abnormal.status}";
        String UNKNOWN_USER = "{unknown.user}";
        String UNKNOWN_RECRUITMENT = "{unknown.recruitment}";
        String RECRUITMENT_IS_ABNORMAL = "{recruitment.is.abnormal}";
        String UNKNOWN_OFFER = "{unknown.offer}";
        String INVALID_OFFER_STATUS = "{invalid.offer.status}";
        String INVALID_REQUEST = "{request.is.invalid}";
        String PLEASE_SELECT_AN_IMAGE = "{please.select.an.image}";
        String UPLOAD_AVATAR_FAILED = "{avatar.upload.error}";
        String SYSTEM_ERROR = "{system.internal.error}";
        String INVALID_RECRUITMENT_ID = "{invalid.recruitment.id}";
        String USERNAME_NOT_EXIST = "{username.not.exist}";
        String PASSWORD_INCORRECT = "{password.incorrect}";
        String ACCOUNT_ALREADY_EXIST = "{account.already.exists}";
        String NO_INVALID_COUPONS_FOR_USER = "{no.invalid.coupons.for.current.user}";
        String INVALID_COUPON_CODE = "{invalid.coupon.code}";
        String COUPON_HAS_ALREADY_ACTIVED = "{coupon.has.already.actived}";
        String INVALID_COUPON = "{invalid.coupon}";
        String INVALID_COUPON_VALIDITY_DAYS = "{invalid.coupon.validity.days}";
        String INVALID_COUPON_DENOMINATION = "{invalid.coupon.denomination}";
        String USER_HAS_APPLYED_THE_JOB_BEFORE = "{user.has.ready.applied.the.job.before}";
        String APPLY_FAIL_DUE_TO_NO_USER_PROFILE_FOUND = "{apply.failed.due.to.no.applier.profile.found}";
        String RECRUITMENT_IS_CANCELED = "{recruitment.is.canceled}";
        String RECRUITMENT_IS_INCOMPELETE = "{recruitment.is.incomplete}";
        String RECRUITMENT_IS_ENDED = "{recruitment.is.ended}";
        String RECRUITMENT_APPLY_TIME_IS_ENDED = "{recruitment.apply.time.is.ended}";
        String ACCOUNT_IS_LOCKED = "{account.is.locked}";
        String UNKNOWN_CAPTCHA_USAGE = "{captcha.unknown.usage}";
        String INVALID_CAPTCHA = "{invalid.captcha}";
        String UNKNOWN_RECRUITMENT_TYPE = "{recruitment.unknown.type.code}";
        String RECRUITMENT_START_AND_END_DATE_ARE_REQUIRED = "{recruitment.start.date.and.end.date.are.required}";
        String RECRUITMENT_END_DATE_SHOULD_BEFORE_START_DATE = "{recruitment.end.date.should.after.start.date}";
        String RECRUITMENT_WORK_LOCATION_IS_REQUIRED = "{recruitment.work.location.is.required}";
        String SEND_SMS_CAPTCHA_FAILED = "{send.sms.captcha.fail}";
        String INVALID_USERNAME = "{username.is.invalid}";
        String APPLY_FAILED_DUE_TO_EXPERIENCE_NOT_MATCH = "{apply.failed.due.to.no.experience";
        String APPLY_FAILED_DUE_TO_AGE_NOT_MATCH = "{apply.failed.due.to.age.not.matches}";
        String APPLY_FAILED_DUE_TO_GENDER_NOT_MATCH = "{apply.failed.due.to.gender.not.matches}";
        String APPLY_FAILED_DUE_TO_HEIGHT_NOT_MATCH = "{apply.failed.due.to.height.not.matches}";
        String TOW_PASSWORD_NOT_EQUALS = "{two.password.not.equals}";
        String ORIGINAL_PASSWORD_IS_WRONG = "{orignal.password.is.wrong}";
        String UPLOADED_FILE_EXCEED_MAX_SIZE = "{upload.file.exceed.max.size}";
        String APPLIER_ID_IS_REQUIRED = "{applier.id.is.required}";
        String CANNOT_RATING_DUE_TO_WORK_NOT_END = "{cannot.rating.due.to.work.not.end}";
        String RATEE_IS_REQUIRED = "{ratee.is.required}";
        String INVALID_RATE_VALUE = "{invalid.rate.value}";
        String RATER_IS_REQUIRED = "{rater.is.required}";
        String RATEE_RECRUITMENT_TO_RATER_NOT_OK = "{ratee.recruitment.to.rater.not.ok}";
        String EMPLOYEE_RATED = "{employee.rated}";
        String INVALID_OFFER_ID = "{invalid.offer.id}";
        String INVALID_USER_ID = "{invalid.user.id}";
        String INVALID_OFFER = "{invalid.offer}";
        String CANNOT_VIEW_OTHERS_OFFER = "{cannot.view.others.offer}";
        String RESOURCE_NOT_ACCESSABLE = "{resource.is.not.accessable}";
        String INVALID_RECRUITMENT_GROUP_CODE = "{invalid.recruitment.group.code}";
        String GEO_LATITUDE_IS_REQUIRED = "{geo.latitude.is.required}";
        String GEO_LONGTITUDE_IS_REQUIRED = "{geo.longitude.is.required}";
        String COMPANY_NAME_IS_REQUIRED = "{company.info.name.invalid}";
        String COMPANY_ADDRESS_IS_REQUIRED = "{company.info.address.invalid}";
        String COMPANY_TYPE_IS_REQUIRED = "{company.info.kind.invalid}";
        String PROVINCE_IS_REQUIRED = "{province.is.required}";
        String CITY_IS_REQUIRED = "{city.is.required}";
        String DISTRICT_IS_REQUIRED = "{district.is.required}";
        String SEND_SMS_OVER_FREQUENT = "{send.sms.over.frequent}";
        String LIVECITY_EMPTY = "{livecity.empty}";
        String RECOMMEND_EMPTY = "{recommend.empty}";
        String INVALID_RATE_OPTS = "{invalid.rate.opts}";
        String UNKNOWN_CITY = "{unknown.city}";
        String OFFER_EMPLOYER_IS_INVALID = "{offer.employer.is.invalid}";
        String OFFER_HAS_BEEN_PAYED = "{offer.has.been.payed}";
        String WORK_NOT_END_YET = "{work.not.end.yet}";
        String GIFT_REWARD_NOT_SUPPORT_YET = "{gift.reward.not.support.yet}";
        String INVALID_REWARD_AMOUNT = "{invalid.reward.amount}";
        String ONLINE_PAY_NOT_SUPPORTED_YET = "{online.pay.not.support.yet}";
        String RATE_IS_REQUIRED = "{rate.is.required}";
        String UNKNOWN_RATE_TYPE = "{unknown.rate.type}";
        String INVALID_EMPLOYER_ID = "{invalid.employer.id}";
        String ACCOUNT_TYPE_IS_REQUIRED = "{register.account.type.is.required}";
        String PASSWORD_LENGTH_NOT_MATCH = "{register.password.length.not.match}";
        String PASSWORD_IS_REQUIRED = "{register.password.is.required}";
        String CAPTCHA_IS_REQUIRED = "{register.captcha.is.required}";
        String TOKEN_IS_REQUIRED = "{register.token.is.required}";
        String USERNAME_IS_REQUIRED = "{register.username.is.required}";
        String INVALID_ACCOUNT_TYPE = "{invalid.account.type}";
        String WORK_PREFERENCE_EMPTY = "{work.preference.empty}";
        String NO_OFFER_CAN_BE_WITHHOLD = "{no.offer.can.be.withhold}";
        String NAME_IS_REQUIRED = "{name.is.required}";
        String INVALID_MOBILE_NUMBER = "{invalid.mobile.number}";
        String GENDER_IS_REQUIRED = "{gender.is.required}";
        String BALANCE_EMPTY = "{balance.empty}";
        String FAVORIED_ALREADY = "{favoried.already}";
        String INVILID_DEVICE_IMEI = "{invilid.device.imei}";
        String INVILID_DEVICE_TOKEN = "{invilid.device.token}";
        String DUPLICATE_DEVICE_REGISTER = "{duplicate.device.register}";
        String UNKNOWN_USER_DEVICE = "{unknown.user.device}";
        String NO_OFFER_CAN_BE_REJECTED = "{no.offer.can.be.rejected}";
        String UNKNOWN_EMPLOYER = "{unknown.employer}";
        String RECRUITMENT_HAS_FULLED = "{recruitment.has.fulled}";
        String APPLIER_HAS_BEEN_EMPLOYED = "{applier.has.been.employed.before}";
        String PUSH_MESSAGE_TICKSER = "{push.message.tickser}";
    }
}
